package com.oa.gform.client.service.ibatis;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.oa.gform.client.service.GFormServiceException;
import com.oa.gform.client.service.IsRPCBean;

/***
 * GIBatisProxyService
 * @author Marco
 *
 * @param <BeanType> tipo del bean da gestire.
 * il bena deve implementare l'interfaccia IsRPCBean.
 */
@RemoteServiceRelativePath("GIBatisProxyService")
public interface GIBatisProxyService<BeanType extends IsRPCBean<?>> extends RemoteService {
	BeanType load(BeanType beanInstance) throws GFormServiceException;
	BeanType insert(BeanType beanInstance) throws GFormServiceException;
	BeanType update(BeanType beanInstance) throws GFormServiceException;
	BeanType saveOrUpdate(BeanType beanInstance) throws GFormServiceException;
	Boolean delete(BeanType beanInstance) throws GFormServiceException;
	
}

